package cn.com.xjnt.vas.manage.repository;

import java.util.List;

import javax.persistence.QueryHint;

import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.QueryHints;

import com.frameworks.core.repository.BaseRepository;

import cn.com.xjnt.vas.manage.domain.entity.Region;

/** 
* 类说明：
* @author 作者 LUXIN
* @version 创建时间：2016年5月4日 下午6:24:54 
*/
public interface RegionRepository extends BaseRepository<Region, Long> {
    @QueryHints(value={
            @QueryHint(name="org.hibernate.cacheable",value="true"),
            @QueryHint(name="org.hibernate.cacheRegion",value="SystemCache")
        }
    )
    List<Region> findByParentId(Long parentId);
    
    /**
     * 获取该地域id，同一父id下的平级的所有地域
     * @param id1
     * @param id2
     * @return
     */
    @Query("from Region xr where xr.parent in (select r.parent from Region r where r.id = ?)")
    List<Region> findAllRegionsAtSameLevelById(Long id);
}
 